home *** CD-ROM | disk | FTP | other *** search
/ Aminet 38 / Aminet 38 (2000)(Schatztruhe)[!][Aug 2000].iso / Aminet / util / misc / MultiRen.lha / MultiRen / Developers / Template.e < prev    next >
Encoding:
Text File  |  2000-05-03  |  2.3 KB  |  101 lines

  1. /* Template for making plugins for MultiRen in E.
  2.    Please use this tamplate and change NOTHING in main() except
  3.    for the $VERsion-string!
  4.  
  5.    By Deniil 715! 2000-05-02, rev #1.
  6. */
  7.  
  8. CONST NUMSTRINGS_FOR_THIS_PLUGIN=1, -> Change this if you return more than 1 string
  9.       FILE_NAME_LENGTH=512,
  10.       COM_ASK=1,
  11.       COM_EXTRACT=2,
  12.       COM_CONFIGURE=3,
  13.       COM_ABOUT=4,
  14.       COM_QUIT=5,
  15.       ERR_OK=0,
  16.       ERR_NOMEM=1,
  17.       ERR_NOFILE=2,
  18.       ERR_NOSIG=3,
  19.       ERR_NOTIMPL=4,
  20.       ERR_UNKNOWN=5,
  21.       ERR_OTHER=6,
  22.       ERR_WRONGFORMAT=7,
  23.       ERR_FATAL=20
  24.  
  25. OBJECT multiren_plugin
  26.  id:LONG
  27.  task:LONG
  28.  sig:LONG
  29.  return:INT
  30.  command:CHAR
  31.  numstrings:CHAR               -> You will
  32.  stringlist[256]:ARRAY OF LONG -> only use
  33.  name:PTR TO CHAR              -> these 3 elements
  34. ENDOBJECT
  35.  
  36. DEF mrp:PTR TO multiren_plugin
  37.  
  38. PROC main()
  39.  DEF sel, sigbit, sig, mtask, msig
  40.  '$VER: Template v1.0 by Deniil 715! (2000-05-02)'
  41.  IF arg
  42.   IF mrp:=Val(arg)
  43.    IF mrp.id="MRPO"
  44.     IF (sigbit:=AllocSignal(-1))>=0
  45.      sig:=Shl(1,sigbit)
  46.      LOOP
  47.       sel:=mrp.command
  48.       SELECT sel
  49.       CASE COM_ASK
  50.        mtask:=mrp.task
  51.        msig:=mrp.sig
  52.        mrp.return:=ask()
  53.        SetProgramName(mrp.name)
  54.        mrp.task:=FindTask(NIL)
  55.        mrp.sig:=sig
  56.       CASE COM_EXTRACT   ; mrp.return:=extract()
  57.       CASE COM_CONFIGURE ; mrp.return:=config()
  58.       CASE COM_ABOUT     ; mrp.return:=about()
  59.       CASE COM_QUIT
  60.        FreeSignal(sigbit)
  61.        mrp.return:=cleanup()
  62.        Signal(mtask,msig)
  63.        RETURN
  64.       DEFAULT ; mrp.return:=ERR_UNKNOWN
  65.       ENDSELECT
  66.       Signal(mtask,msig)
  67.       Wait(sig)
  68.      ENDLOOP
  69.     ELSE
  70.      mrp.return:=ERR_NOSIG
  71.      Signal(mrp.task,mrp.sig)
  72.      RETURN
  73.     ENDIF
  74.    ENDIF
  75.   ENDIF
  76.  ENDIF
  77.  WriteF('This is a plugin for MultiRen!\n' +
  78.         'It is not supposed to be executed manually!\n' +
  79.         'Use it through the Renplacer tool in MultiRen instead!\n')
  80. ENDPROC ERR_FATAL
  81.  
  82. PROC ask()
  83.  mrp.numstrings:=NUMSTRINGS_FOR_THIS_PLUGIN
  84.  mrp.stringlist[0]:='<template>'
  85.  mrp.name:='<template>'
  86. ENDPROC ERR_OK
  87.  
  88. PROC extract()
  89.  mrp.stringlist[0]:='<template>'
  90. ENDPROC ERR_OK
  91.  
  92. PROC config() IS ERR_NOTIMPL
  93.  
  94. PROC about()
  95.  req('About template..')
  96. ENDPROC ERR_OK
  97.  
  98. PROC cleanup() IS ERR_OK
  99.  
  100. PROC req(body,gads=NIL) IS EasyRequestArgs(NIL,
  101.          [20,0,'Template',body,IF gads THEN gads ELSE 'OK'],NIL,NIL)